gtk4.git
6 years agoMerge branch 'lr/builder-tool-assistant-crash' into 'master'
Matthias Clasen [Thu, 30 May 2019 11:48:59 +0000 (11:48 +0000)]
Merge branch 'lr/builder-tool-assistant-crash' into 'master'

builder-tool: Set the parent of newly created GtkAssistantPage

See merge request GNOME/gtk!890

6 years agobuilder-tool: Set the parent of newly created GtkAssistantPage
Lubomir Rintel [Thu, 30 May 2019 09:29:50 +0000 (11:29 +0200)]
builder-tool: Set the parent of newly created GtkAssistantPage

...and its property. Otherwise simplify_element() blows up when looking
up the hierarchy to determine a property type.

  $ gtk4-builder-tool simplify --3to4 /dev/stdin <<EOF
  > <?xml version="1.0" encoding="UTF-8"?>
  > <!-- Generated with glade 3.20.2 -->
  > <interface domain="nm-applet">
  >   <object class="GtkAssistant">
  >     <child>
  >       <object class="GtkBox" id="confirm_page">
  >       </object>
  >       <packing>
  >         <property name="page_type">confirm</property>
  >         <property name="complete">True</property>
  >       </packing>
  >     </child>
  >   </object>
  > </interface>
  > EOF
  /dev/stdin: Packing property GtkAssistant::page_type not found
  /dev/stdin: Packing property GtkAssistant::complete not found
  Segmentation fault (core dumped)

6 years agogl renderer: Properly flip scaled fallback nodes
Timm Bäder [Thu, 30 May 2019 07:12:24 +0000 (09:12 +0200)]
gl renderer: Properly flip scaled fallback nodes

Fixes cairo nodes in hidpi setups

6 years agoMerge branch 'wip/baedert/nodeeditor-fuckery' into 'master'
Matthias Clasen [Thu, 30 May 2019 03:28:41 +0000 (03:28 +0000)]
Merge branch 'wip/baedert/nodeeditor-fuckery' into 'master'

node editor: Add a quick way to save a testcase

See merge request GNOME/gtk!880

6 years agoMerge branch 'wip/chergert/sysprof-3' into 'master'
Matthias Clasen [Thu, 30 May 2019 03:26:59 +0000 (03:26 +0000)]
Merge branch 'wip/chergert/sysprof-3' into 'master'

profiler: port GdkProfiler to sysprof-3

See merge request GNOME/gtk!886

6 years agoprofiler: port GdkProfiler to sysprof-3
Christian Hergert [Thu, 30 May 2019 02:02:30 +0000 (19:02 -0700)]
profiler: port GdkProfiler to sysprof-3

This uses the new sysprof-3 ABI to implement the capture writer. It also
uses the statically linked libsysprof-capture-3.a that is provided with
Sysprof for the capture writing to ensure that we do not leak any symbols
nor depend on any additional libraries.

The GTK_TRACE_FD can be used to pass a FD for tracing into Gtk. Sysprof
uses this when the Gtk instrument is selected for recording.

6 years agoMerge branch 'shortcuts-sizing' into 'master'
Matthias Clasen [Wed, 29 May 2019 21:18:46 +0000 (21:18 +0000)]
Merge branch 'shortcuts-sizing' into 'master'

Fix shortcuts window sizing

Closes #11

See merge request GNOME/gtk!885

6 years agoFix shortcuts window sizing
Matthias Clasen [Wed, 29 May 2019 21:06:27 +0000 (17:06 -0400)]
Fix shortcuts window sizing

We were deferring the reflow until map, but this
leads to the section initially having an enormous
height and the window picks up that size before
we have a chance to reflow, This could be seen
in the "Builder" demo in gtk4-demo.

Closes: https://gitlab.gnome.org/GNOME/gtk/issues/11
6 years agomarshallers: add missing g_cclosure_marshal_VOID__VOID fixes
Christian Hergert [Wed, 29 May 2019 20:48:33 +0000 (13:48 -0700)]
marshallers: add missing g_cclosure_marshal_VOID__VOID fixes

6 years agoMerge branch 'wip/chergert/marshal-gtk4' into 'master'
Matthias Clasen [Wed, 29 May 2019 20:38:51 +0000 (20:38 +0000)]
Merge branch 'wip/chergert/marshal-gtk4' into 'master'

marshallers: ensure g_cclosure_marshal_VOID__VOIDv is used

See merge request GNOME/gtk!883

6 years agomarshallers: ensure g_cclosure_marshal_VOID__VOIDv is used
Christian Hergert [Wed, 29 May 2019 20:05:19 +0000 (13:05 -0700)]
marshallers: ensure g_cclosure_marshal_VOID__VOIDv is used

If we set c_marshaller manually, then g_signal_newv() will not setup a
va_marshaller for us. However, if we provide c_marshaller as NULL, it will
setup both the c_marshaller (to g_cclosure_marshal_VOID__VOID) and
va_marshaller (to g_cclosure_marshal_VOID__VOIDv) for us.

6 years agoMerge branch 'gesture-click' into 'master'
Matthias Clasen [Wed, 29 May 2019 18:39:09 +0000 (18:39 +0000)]
Merge branch 'gesture-click' into 'master'

Rename GtkGestureMultiPress to GtkGestureClick

See merge request GNOME/gtk!878

6 years agonode editor: Add a quick way to save a testcase
Timm Bäder [Wed, 29 May 2019 18:30:21 +0000 (20:30 +0200)]
node editor: Add a quick way to save a testcase

6 years agoMerge branch 'global-coords' into 'master'
Matthias Clasen [Wed, 29 May 2019 18:29:57 +0000 (18:29 +0000)]
Merge branch 'global-coords' into 'master'

Drop global coordinates

See merge request GNOME/gtk!879

6 years agoMention event controller API in the migration guide
Matthias Clasen [Wed, 29 May 2019 18:17:07 +0000 (14:17 -0400)]
Mention event controller API in the migration guide

6 years agoMention global coordinates in the migration guide
Matthias Clasen [Wed, 29 May 2019 18:11:57 +0000 (18:11 +0000)]
Mention global coordinates in the migration guide

6 years agoCosmetics
Matthias Clasen [Wed, 29 May 2019 18:03:20 +0000 (18:03 +0000)]
Cosmetics

Remove a doc comment for no-longer-public api.

6 years agoCosmetics
Matthias Clasen [Wed, 29 May 2019 17:35:29 +0000 (17:35 +0000)]
Cosmetics

Drop a leftover declaration.

6 years agoFix the win32 build
Matthias Clasen [Wed, 29 May 2019 17:31:37 +0000 (17:31 +0000)]
Fix the win32 build

gdk_display_get_monitor_at_point was used
in this backend.

6 years agoCosmetics
Matthias Clasen [Wed, 29 May 2019 15:26:51 +0000 (11:26 -0400)]
Cosmetics

Remove an unused variable.

6 years agoDrop gdk_surface_move
Matthias Clasen [Wed, 29 May 2019 15:21:20 +0000 (15:21 +0000)]
Drop gdk_surface_move

And its cousin, gdk_surface_move_resize.
These APIs are expecting global coordinates,
which are going away. GTK is not using them
anymore.

6 years agoRemove a misleading comment
Matthias Clasen [Wed, 29 May 2019 15:18:15 +0000 (15:18 +0000)]
Remove a misleading comment

We don't have windowed widgets anymore, and
gdk_surface_move_resize is about to go away.

6 years agowindow: Remove move unused fields
Matthias Clasen [Wed, 29 May 2019 15:16:39 +0000 (15:16 +0000)]
window: Remove move unused fields

position_constraints_changed is never used.

6 years agowindow: Never call gdk_surface_move
Matthias Clasen [Wed, 29 May 2019 15:12:34 +0000 (15:12 +0000)]
window: Never call gdk_surface_move

With gtk_window_set_position gone, we should never
come up with a new position to set in this code.

Leave a warning in place and remove the gdk_surface_move
calls.

6 years agoDrop an empty function
Matthias Clasen [Wed, 29 May 2019 14:50:30 +0000 (10:50 -0400)]
Drop an empty function

gtk_window_constrain_position is not doing anything
anymore, so no need to call it.

6 years agowindow: Drop more unused fields
Matthias Clasen [Wed, 29 May 2019 14:21:57 +0000 (14:21 +0000)]
window: Drop more unused fields

need_default_position is never used.

6 years agowindow: Drop some unused fields
Matthias Clasen [Wed, 29 May 2019 14:17:38 +0000 (14:17 +0000)]
window: Drop some unused fields

initial_x/y and initial_pos_set are never used.

6 years agoDrop gdk_device_get_position
Matthias Clasen [Wed, 29 May 2019 11:44:17 +0000 (07:44 -0400)]
Drop gdk_device_get_position

Root coordinates are going away, so this
api does not make sense anymore. Use
gdk_surface_get_device_position instead.
We still keep this as internal api for
root-coordinate using backends.

6 years agowidget: Stop using gdk_device_get_position
Matthias Clasen [Wed, 29 May 2019 11:43:29 +0000 (07:43 -0400)]
widget: Stop using gdk_device_get_position

Root coordinates are going away. Stop
setting them in crossing events, so we
can drop this api.

6 years agoMake gdk_surface_get_origin internal
Matthias Clasen [Wed, 29 May 2019 06:05:40 +0000 (02:05 -0400)]
Make gdk_surface_get_origin internal

We still use this function inside gdk in
a number of places, so keep it around.

6 years agoDrop gdk_display_get_monitor_at_point
Matthias Clasen [Wed, 29 May 2019 05:50:48 +0000 (05:50 +0000)]
Drop gdk_display_get_monitor_at_point

This api expects global coordinates, and
is unused.

6 years agowindow: Drop gtk_window_set_position
Matthias Clasen [Wed, 29 May 2019 05:34:46 +0000 (05:34 +0000)]
window: Drop gtk_window_set_position

This is heavily using global coordinates, and
can't be guaranteed to work across wms / platforms.

6 years agotests: Stop using gtk_window_set_position
Matthias Clasen [Wed, 29 May 2019 05:34:16 +0000 (05:34 +0000)]
tests: Stop using gtk_window_set_position

This api is going away.

6 years agogtk-demo: Stop using gtk_window_set_position
Matthias Clasen [Wed, 29 May 2019 05:33:39 +0000 (05:33 +0000)]
gtk-demo: Stop using gtk_window_set_position

This api is going away.

6 years agoDrop gdk_surface_get_frame_extents
Matthias Clasen [Wed, 29 May 2019 04:53:10 +0000 (00:53 -0400)]
Drop gdk_surface_get_frame_extents

No longer used.

6 years agoa11y: Stop using gdk_surface_get_frame_extnts
Matthias Clasen [Wed, 29 May 2019 04:43:04 +0000 (04:43 +0000)]
a11y: Stop using gdk_surface_get_frame_extnts

This api is going away.

6 years agox11: Set surface position correctly
Matthias Clasen [Wed, 29 May 2019 04:31:04 +0000 (00:31 -0400)]
x11: Set surface position correctly

The X backend was storing global coordinates
in surface->x/y, and keeping the parent-relative
positions in its own fields. Switch this around
to store the relative position in x/y, as is
expected by the frontend.

6 years agoClarify gdk_surface_get_position
Matthias Clasen [Wed, 29 May 2019 04:30:03 +0000 (00:30 -0400)]
Clarify gdk_surface_get_position

This function returns the position relative to
the surface parent, so will always return 0 for
non-popups. The out arguments don't need to
allow-none either - nobody passes NULL for these.

6 years agoa11y: Stop using gdk_surface_get_origin
Matthias Clasen [Wed, 29 May 2019 03:55:46 +0000 (23:55 -0400)]
a11y: Stop using gdk_surface_get_origin

Global coordinates are going away.
Stop supporting ATK_XY_SCREEN.

6 years agomain: Use gdk_surface_translate_coordinates
Matthias Clasen [Wed, 29 May 2019 03:43:05 +0000 (23:43 -0400)]
main: Use gdk_surface_translate_coordinates

This gets rid of another use of global coordinates.

6 years agosurface: Add coordinate translation
Matthias Clasen [Wed, 29 May 2019 03:41:56 +0000 (23:41 -0400)]
surface: Add coordinate translation

We maintain offsets for popups, so we can translate
coordinates between surfaces that are attached directly
or indirectly to the same toplevel. Add an api for that.

6 years agoMerge branch 'high-contrast-tabs' into 'master'
Matthias Clasen [Wed, 29 May 2019 17:49:06 +0000 (17:49 +0000)]
Merge branch 'high-contrast-tabs' into 'master'

HighContrast: Improve contrast of notebook tabs

See merge request GNOME/gtk!877

6 years agoRename GtkGestureMultiPress to GtkGestureClick
Matthias Clasen [Wed, 29 May 2019 17:10:46 +0000 (17:10 +0000)]
Rename GtkGestureMultiPress to GtkGestureClick

The name just made it hard for people to find the
right gesture to use.

6 years agoHighContrast: Improve contrast of notebook tabs
Colomban Wendling [Wed, 29 May 2019 15:46:41 +0000 (17:46 +0200)]
HighContrast: Improve contrast of notebook tabs

6 years agotestgtk: Fix a crash
Matthias Clasen [Wed, 29 May 2019 15:05:06 +0000 (15:05 +0000)]
testgtk: Fix a crash

Somebody forgot to update the signal handler
here when changing the size-allocate signal.

6 years agoRevert "window: Chain up in show/hide"
Benjamin Otte [Wed, 29 May 2019 14:51:42 +0000 (16:51 +0200)]
Revert "window: Chain up in show/hide"

This reverts commit 863f4d13ff4b46c55ff2111958ca2629c95caf99.

6 years agowindow: Chain up in show/hide
Benjamin Otte [Wed, 29 May 2019 14:33:45 +0000 (16:33 +0200)]
window: Chain up in show/hide

6 years agowidget: Add marshallers to signals
Benjamin Otte [Wed, 29 May 2019 14:31:14 +0000 (16:31 +0200)]
widget: Add marshallers to signals

Yay for better sysprof logs!

6 years agowidget: Do proper clean up in real_hide()
Benjamin Otte [Wed, 29 May 2019 13:02:49 +0000 (15:02 +0200)]
widget: Do proper clean up in real_hide()

Do the same things set_visible_flag() does.

6 years agowidget: Move functions around
Benjamin Otte [Wed, 29 May 2019 13:07:54 +0000 (15:07 +0200)]
widget: Move functions around

Copy them further up so that we can use them there in the next commit.

6 years agowidget: Insist on proper vfunc calling
Benjamin Otte [Wed, 29 May 2019 13:01:18 +0000 (15:01 +0200)]
widget: Insist on proper vfunc calling

Insist that ->show() is only called for invisible and ->hide only for
visible widgets.

6 years agowidget: Fix transform refcounting in allocate()
Benjamin Otte [Wed, 29 May 2019 12:48:27 +0000 (14:48 +0200)]
widget: Fix transform refcounting in allocate()

Make the transform (transfer full).

1. This makes sure we actually reference the transform. Previously we
   did not.
2. Most callers create a new transform to pass to us. Now they don't
   have to uref it anymore.

6 years agocss: Use %f, not %.17f
Benjamin Otte [Wed, 29 May 2019 12:29:25 +0000 (14:29 +0200)]
css: Use %f, not %.17f

The testusite failures explain why:
We don't want to print "1.00000000000000000", but "1".

6 years agorendernodeparser: Handle repeating linear gradients
Benjamin Otte [Wed, 29 May 2019 03:55:28 +0000 (05:55 +0200)]
rendernodeparser: Handle repeating linear gradients

Just handle them like regular gradients, only name them differently.

6 years agocss: Don't print numbers with exponent
Benjamin Otte [Wed, 29 May 2019 04:48:03 +0000 (06:48 +0200)]
css: Don't print numbers with exponent

CSS does not do exponents, so printing numbers close to 0 as 1.234e-15
does not work.

Also up the accuracy to 17 digits because that's what everyone else
uses.

6 years agobroadway: Handle Cairo nodes with NULL surfaces
Benjamin Otte [Wed, 29 May 2019 03:41:53 +0000 (05:41 +0200)]
broadway: Handle Cairo nodes with NULL surfaces

6 years agonotebook: Drop position from ::create-window
Matthias Clasen [Wed, 29 May 2019 03:18:26 +0000 (03:18 +0000)]
notebook: Drop position from ::create-window

Global coordinates are going away.

6 years agoSome entry completion fixes
Matthias Clasen [Wed, 29 May 2019 03:07:02 +0000 (03:07 +0000)]
Some entry completion fixes

This gets popover-based entry completion closer
to working as expected. And it drops a use of
gdk_surface_get_origin.

6 years agotree models: Use standard padding
Matthias Clasen [Wed, 29 May 2019 02:23:08 +0000 (22:23 -0400)]
tree models: Use standard padding

6 years agotreeview column: Make final
Matthias Clasen [Wed, 29 May 2019 01:42:38 +0000 (21:42 -0400)]
treeview column: Make final

6 years agotreeview: Make final
Matthias Clasen [Wed, 29 May 2019 01:42:38 +0000 (21:42 -0400)]
treeview: Make final

Make GtkTreeSelection final as well.

6 years agoflow box: Make final
Matthias Clasen [Wed, 29 May 2019 00:01:03 +0000 (20:01 -0400)]
flow box: Make final

We keep GtkFlowBoxChild subclassable, though.

6 years agolistbox Make final
Matthias Clasen [Wed, 29 May 2019 00:00:40 +0000 (20:00 -0400)]
listbox Make final

We keep GtkListBoxRow subclassable, though.

6 years agonotebook: Make final
Matthias Clasen [Tue, 28 May 2019 23:53:56 +0000 (23:53 +0000)]
notebook: Make final

6 years agolabel: Make final
Matthias Clasen [Tue, 28 May 2019 23:45:45 +0000 (19:45 -0400)]
label: Make final

6 years agomenubar: Make final
Matthias Clasen [Tue, 28 May 2019 23:43:43 +0000 (19:43 -0400)]
menubar: Make final

6 years agotoolbar: make final
Matthias Clasen [Tue, 28 May 2019 23:37:51 +0000 (23:37 +0000)]
toolbar: make final

6 years agomenu: Make final
Matthias Clasen [Tue, 28 May 2019 23:37:31 +0000 (23:37 +0000)]
menu: Make final

6 years agoForgotten file
Matthias Clasen [Tue, 28 May 2019 23:30:02 +0000 (23:30 +0000)]
Forgotten file

6 years agomenu tool button: Make final
Matthias Clasen [Tue, 28 May 2019 22:58:58 +0000 (18:58 -0400)]
menu tool button: Make final

6 years agoradio tool button: Make final
Matthias Clasen [Tue, 28 May 2019 22:58:46 +0000 (18:58 -0400)]
radio tool button: Make final

6 years agotoggle tool button: Use standard padding
Matthias Clasen [Tue, 28 May 2019 22:58:31 +0000 (18:58 -0400)]
toggle tool button: Use standard padding

6 years agotool button: Use standard padding
Matthias Clasen [Tue, 28 May 2019 22:58:05 +0000 (18:58 -0400)]
tool button: Use standard padding

6 years agoiconview: Make final
Matthias Clasen [Tue, 28 May 2019 22:50:08 +0000 (22:50 +0000)]
iconview: Make final

6 years agostack: Make final
Matthias Clasen [Tue, 28 May 2019 22:35:07 +0000 (22:35 +0000)]
stack: Make final

6 years agofile chooser error stack: Don't derive from stack
Matthias Clasen [Tue, 28 May 2019 22:12:20 +0000 (22:12 +0000)]
file chooser error stack: Don't derive from stack

We can just have a GtkStack, instead.

6 years agoscrolled window: Make final
Matthias Clasen [Tue, 28 May 2019 21:04:32 +0000 (17:04 -0400)]
scrolled window: Make final

6 years agoinspector: Stop deriving from scrolled window
Matthias Clasen [Tue, 28 May 2019 22:34:47 +0000 (22:34 +0000)]
inspector: Stop deriving from scrolled window

6 years agoplaces sidebar: Don't derive from scrolled window
Matthias Clasen [Tue, 28 May 2019 22:11:14 +0000 (22:11 +0000)]
places sidebar: Don't derive from scrolled window

We can just have a scrolled window, instead.

6 years agoForgotten file
Matthias Clasen [Tue, 28 May 2019 22:16:59 +0000 (22:16 +0000)]
Forgotten file

6 years agoMerge branch 'wip/matthiasc/popup5' into 'master'
Matthias Clasen [Tue, 28 May 2019 20:46:07 +0000 (20:46 +0000)]
Merge branch 'wip/matthiasc/popup5' into 'master'

Reimplement popups

See merge request GNOME/gtk!847

6 years agoinspector: Show surface and renderer
Matthias Clasen [Tue, 28 May 2019 19:43:01 +0000 (19:43 +0000)]
inspector: Show surface and renderer

6 years agoGDK W32: Fix indentation and placate GCC
Руслан Ижбулатов [Tue, 28 May 2019 17:25:45 +0000 (17:25 +0000)]
GDK W32: Fix indentation and placate GCC

6 years agoGDK W32: Correctly log popups
Руслан Ижбулатов [Tue, 28 May 2019 17:21:42 +0000 (17:21 +0000)]
GDK W32: Correctly log popups

6 years agoGDK W32: Only use owner windows for popups
Руслан Ижбулатов [Tue, 28 May 2019 16:39:58 +0000 (16:39 +0000)]
GDK W32: Only use owner windows for popups

GTK4 doesn't have WS_CHILD windows anymore, so hWndParent argument
to CreateWindowEx() is always interpreted as the owner window,
not the parent window.

A window with an owner:
* is above the owner in Z-order
* is destroyed when the owner is destroyed
* is hidden when the owner is minimized
This is enforced by the OS.

GTK can only allow this for popup windows.

Desktop window must never[0] be an owner.

[0]: https://devblogs.microsoft.com/oldnewthing/20040224-00/?p=40493

6 years agoGDK W32: No more child windows
Руслан Ижбулатов [Tue, 28 May 2019 16:37:28 +0000 (16:37 +0000)]
GDK W32: No more child windows

We don't have child windows (the window-inside-a-window kind of windows)
anymore. Remove all the code related to that.

6 years agoDon't assume that gdk_surface[_move]_resize() is asynchronous
Руслан Ижбулатов [Tue, 28 May 2019 16:14:39 +0000 (16:14 +0000)]
Don't assume that gdk_surface[_move]_resize() is asynchronous

On Windows that call resizes the native window immediately,
and the corresponding GDK event is emitted and processed
before the control is returned to gtk_window_move_resize().
Therefore, update freeze and configure_request_count increment
must happen before the call, not after it.

6 years agoAdd missing include
Руслан Ижбулатов [Tue, 28 May 2019 00:35:30 +0000 (00:35 +0000)]
Add missing include

6 years agoGDK W32: Don't handle WM_ACTIVATE for popup windows
Руслан Ижбулатов [Mon, 27 May 2019 23:51:38 +0000 (23:51 +0000)]
GDK W32: Don't handle WM_ACTIVATE for popup windows

Popups can't be active or inactive, so emitting GDK events
in response to WM_ACTIVATE makes no sense for these kinds
of GDK surfaces.

The jury is still out on whether we should block (return 0)
or ignore (don't return anything) this message.

Blocking WM_NCACTIVATE (which we currently ignore) is definitely
not an option - it completely breaks input somehow.

6 years agoAvoid compiler warnings
Matthias Clasen [Mon, 27 May 2019 16:26:19 +0000 (16:26 +0000)]
Avoid compiler warnings

Avoid priv being flagged as unused on win32.

6 years agoGDK W32: Adjust to new popup surfaces
Руслан Ижбулатов [Sun, 26 May 2019 15:36:03 +0000 (15:36 +0000)]
GDK W32: Adjust to new popup surfaces

1) Handle GDK_SURFACE_POPUP in RegisterGdkClass()
   (for now pretend it's the same as GDK_SURFACE_TOPLEVEL)

2) Remove useless code from GDK_SURFACE_TOPLEVEL case in _gdk_win32_display_create_surface()
   (now there's just GDK_SURFACE_TOPLEVEL there, no need for a type check)

3) Have a separate case for GDK_SURFACE_POPUP and ensure that
   it doesn't get WS_CHILDWINDOW (and neither should GDK_SURFACE_TEMP).

6 years agosurface: Cosmetics
Matthias Clasen [Sun, 26 May 2019 03:55:08 +0000 (03:55 +0000)]
surface: Cosmetics

Move things where they belong.

6 years agopopover: Don't constantly redraw the beak
Matthias Clasen [Sat, 25 May 2019 23:11:30 +0000 (23:11 +0000)]
popover: Don't constantly redraw the beak

We don't want to constantly draw the arrow
if we don't have to. Save the render node
to achieve this.

6 years agowayland: Disconnect the frame clock
Matthias Clasen [Fri, 24 May 2019 10:59:38 +0000 (10:59 +0000)]
wayland: Disconnect the frame clock

The frame clock can survive the surface now,
so we need to disconnect.

6 years agowin32: Disconnect the frame clock
Matthias Clasen [Fri, 24 May 2019 10:55:06 +0000 (10:55 +0000)]
win32: Disconnect the frame clock

The frame clock can now survive the surface,
so we need to disconnect when the surface goes away.

6 years agox11: Disconnect from the frame clock
Matthias Clasen [Fri, 24 May 2019 01:55:57 +0000 (01:55 +0000)]
x11: Disconnect from the frame clock

The frame clock can now survive its surface,
so we need to disconnect signal handlers.

6 years agobroadway: Disconnect from the frame clock
Matthias Clasen [Fri, 24 May 2019 01:55:23 +0000 (01:55 +0000)]
broadway: Disconnect from the frame clock

The frame clock can no survive its surface,
so we need to disconnect signal handlers.

6 years agosurface: Give backends a chance to disconnect
Matthias Clasen [Fri, 24 May 2019 01:56:35 +0000 (01:56 +0000)]
surface: Give backends a chance to disconnect

Call the destroy vfunc before clearing
frame clock and gl context, so backends
have a chance to clean up.

6 years agofishbowl: Don't pop up popovers too early
Matthias Clasen [Fri, 24 May 2019 01:54:55 +0000 (01:54 +0000)]
fishbowl: Don't pop up popovers too early

Wayland does not like this.

6 years agopopover: Stop needles allocations
Matthias Clasen [Thu, 23 May 2019 00:18:12 +0000 (00:18 +0000)]
popover: Stop needles allocations

We were queuing an allocation whenever
the popover is flipped over, unnecessarily,
since we don't change the size of the surface.

This was showing up as popovers being invisible
when flipped over, under X.